#ifndef _MUNIXOS_MCU_H_
#define _MUNIXOS_MCU_H_

#define DEFAULT_LOADAVG_SIZE	10

struct LoadAverage
{
	uint8_t		current;
	uint8_t		last5Min;
	uint8_t		last10Min;

	uint8_t		averages[DEFAULT_LOADAVG_SIZE];
};


typedef struct mcu
{
	uint8_t		id;
	uint8_t		numMCU;
	uint8_t		flags;
	LoadAverage * loadAverage;
	char *		desc;

	mcu *		nextMCU;

	// Multi-level interrupt data

	// Event system information

	// Built-in
	MCU_t		mcuID;

} mcu_t
.;

#define MCU_RUNNING 0x001
#define MCU_READY	0x002
#define MCU_IDLE	0x004
#define MCU_OFFLINE	0x008
#define MCU_FROZEN	0x010
#define	MCU_RESET	0x020

extern mcu *	mcus[];




#endif /* MCU_H_ */